namespace classifier_test
{

class ensemble_classifier : public classifier
{
public:
	ensemble_classifier();
	ensemble_classifier(const ensemble_classifier& Val);
	smart_ptr<classifier> clone() const;
	void serialize(serializer& Serializer);

	void add(classifier* Classifier, double Weight = 1);
	void train(subarray<const record* const> Data);
	discr_value classify(const record& Record) const;
	void estimate(const record& Record, array<double>& Probs) const;

private:
	vector<classifier*> Classifiers;
	vector<double> Weights;
};

}
